package com.groupseven.backend.mapper;


import com.groupseven.backend.domain.User.User;
import com.groupseven.backend.domain.User.UserRole;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

/**
 * @author Hanaue
 */
@Mapper
public interface UserMapper {
     /**
      * @Author 王志华
      * 通过用户名查询用户
      * @param Userid 用户名 字符串类型
      * @return User
      */
     User selectById (String Userid);

     /**
      * @Author 王志华
      * @return
      */
     List<User> getAllUsers();

     /**
      * @Author 王志华
      * @param Username
      * @return
      */
     User selectByUsername(String Username);

     /**
      * @Author 王志华
      * @param ur
      * @return
      */
     int updateUserRole(UserRole ur);

     /**
      * @Author 王志华
      * @param user
      * @return
      */
     int addUser(User user);

     /**
      * @Author 王志华
      * @param Usernum
      * @return
      */
     int deleteByUsernum(int Usernum);

     /**
      * @Author 王志华
      * @param date
      * @param Username
      * @return
      */
     int updateLastLoginDate(String date,String Username);

     /**
      * @Author 王志华
      * @param Username
      * @return
      */
     int logout(String Username);

     /**
      * @Author 王志华
      * @param user
      * @return
      */
     User selectByUsernameAndPassword(User user);

     /**
      * @Author 王志华
      * @param query
      * @return
      */
     int multi_delete(Map<String,Object> query);

     /**
      * @Author 王志华
      * @param query
      * @return
      */
     List<User> FuzzySearch(String query);
}
